package terrforming.space.objects;

import javax.media.opengl.GL;
import javax.media.opengl.GL2;

/**
 * Планета. Является разновидностью подвижного космического объекта.
 * Имеет собственный алгоритм отрисовки (Drawable)
 */
public class Planet extends MovableCosmicObject implements Drawable{
    
    public Planet(float m,float r, float x, float y){
        this.r=r;
        this.x=x;
        this.y=y;
        this.m=m;
        vx=0.002f;
        vy=0.002f;
    }

    @Override
    public void draw(GL2 gl) {
        gl.glPushMatrix();
        gl.glTranslatef(x, y, 0);
        gl.glBegin(GL.GL_TRIANGLE_FAN);
            gl.glColor3f(.7f,0.5f,1f);
            for(double d = 0; d <= 2 * 3.14; d += 0.01) {
              gl.glVertex2d(r*(3.0/4)*Math.cos(d), r*Math.sin(d));
              gl.glVertex2d(r*(3.0/4)*Math.cos(d), r*Math.sin(d));
            }
        gl.glEnd();
        gl.glPopMatrix();
    }
    
    public void recalculate(){
        super.recalculate();
        //System.err.println("vx: "+ vx + " vy: "+vy + " ax: " +ax+ " ay: "+ay);
    }
    
}
